Due to recent world events, security has become a very important issue. As a result, video surveillance systems are increasingly being used both commercially and privately to monitor areas for security purposes.
Typically, a video surveillance system comprises one or more storage servers (i.e., generally implemented as a general-purpose computer as known to those in the relevant art), which receive data from one or more video cameras distributed on a computer network. There are a number of issues with controlling such video surveillance systems that are typically not as prevalent in other video recording applications. Firstly, it is important in security implementations to accurately establish the time at which an event occurred. Ideally, the frame rate of a network associated with a video surveillance system matches received data as closely as possible, to the point of catching the most minor of variations between the two. However, the reliability of video surveillance systems can be significantly reduced due to variability in frame rate of such an associated network, especially if the bandwidth of the network is close to being saturated. Entire frames can be lost due to such variability.
A second issue with video surveillance systems is the frequent changes in video properties that can occur with such systems. As a video surveillance system attempts to maintain a balance between recording size and video quality at important times, some aspects of captured video data, such as frame rate, resolution and compression ratio, can change dynamically.
In addition, the efficiency of video surveillance systems can be reduced due to the inefficient use of the memory resources of an associated network. For example, in order to support as many video cameras as possible on one network and to enable the cameras to work at adequate frame rates and resolution, the hard disk of an associated storage server must be adequately fragmented and utilised.
Finally, the recoverability of video surveillance systems in the event of a system failure, such as abnormal termination, is critical to the effectiveness of such a system. For example, during a power failure, as much data as possible should be recovered from any files that are left inconsistent or corrupt as a result of the system failure.
Various video surveillance systems have been developed in order to address the above issues. However, most of the existing systems, record and store video data in proprietary file formats. Such proprietary file formats cannot typically be viewed using standard media players.
One known file format used for video/audio data is the Microsoft™ AVI™ (Audio Video Interleave) file format. The AVI™ file format is a file specification used with an AVI™ media player application or any media player application that can read a file configured in accordance with the AVI™ file format. Such a media player application can be used to capture, edit, and play back video/audio sequences. In general, files configured in accordance with the AVI™ file format include multiple data streams (i.e., samples) containing samples of different types of data. Most AVI™ sequences use both audio and video streams. A simple variation of such an AVI™ sequence uses video data and does not require an audio stream.
The disadvantage of the AVI™ file format is that the format does not support variable frame rates and resolution within a data stream. As such the AVI™ file format is unsuitable for video surveillance applications.
Another known file format is the Apple™ QuickTime™ file format. Again, the QuickTime™ file format is a file specification used with a QuickTime™ media player application of the same name or any media player application that can read a file configured in accordance with the QuickTime™ file format. The QuickTime™ file format provides support for variable video frame rates and resolutions. A detailed description of the QuickTime™ file format can be found in the publication entitled “QuickTime File Format”, published by Apple Computer Inc. The QuickTime File Format publication can be found at the website http://developer.apple.com/techpubs/quicktime/qtdevdocs/PDF/QTFileFormat.pdf, as of 9 Jan. 2003.
However, there is no structure specified for a media data area within the QuickTime™ file format. Accordingly, metadata that can be recognised by a QuickTime™ media player application, for example, can not be added to a file configured in accordance with the QuickTime™ file format.
Thus, a need clearly exists for a process for storing data and, in particular, video and text data samples, which allows video streams or samples to be captured and viewed using standard file formats and associated standard media players.